|
改了一下,这次运算应该没啥问题了
/ N! K) j7 A4 Y6 m
) r! v% K* ~6 C+ \/ E. I* y
. j% k; {. C. A' \1 Lcapture program drop hello
7 D, E4 _2 Q0 L; ?6 e$ B3 z7 E
program hello
# z! r! W" y' b- ^3 \8 ]7 l! W. p) `# A
quietly {
6 L. v" g6 s( X% u4 x( N0 ~2 H: u3 j: w$ x Q- `8 e6 ^$ c
clear
3 F- h- [ `& t% C; H7 M' b E. i M8 a5 P$ c3 K
cd e:\finance\stock\20110101\source- ^8 t m6 B: U9 {2 m
- ^- c, }% m& \$ o3 s. E
insheet using `1'.txt
- E) ]$ [+ D/ z& a: p) I( q# k0 |& `" v7 T1 p3 k7 k
keep if v5>01 O3 W* c; W' N4 }* c/ Y3 Y
# d/ w. O+ P) q1 U
gen vt=_n$ E( H5 X' ?. j9 _' h
% s5 l9 H7 a3 M7 X/ s$ I7 H tsset vt' o& X- q6 B, D& f
1 ]! y" z, Q3 a6 g* } gen zf=D1.v58 P. U* \& ^6 F# h9 z1 x7 F7 G# X \) O
# f: F$ S; s& j
gsort -v1
6 k4 S. Y5 D* \& G g# n8 N9 L
, |5 v: B$ Q6 A4 E$ O3 L1 N# l gen avol=v7/v53 {7 a6 A+ s# j/ g+ H5 V% w& Z8 }4 ]: v
# Q3 \' z1 \$ R8 L
keep if avol>0
- Q/ k, |( {. \! L; ~1 f * K6 j* Y0 T+ j7 d% R' z. ^' N
drop vt
0 K. s6 z" b- x6 @
4 R% B- q1 A2 X8 Y! n* r8 i gen vt=_n' T( P! R* U( i
% D" m4 v$ z" D5 Z tsset vt
: O1 V* D. D' C. t: J+ K
0 O! Y$ \8 r- u6 N h sum v5 [aw =avol]
; }* x+ h: ^+ X U8 a2 z8 B" \$ J8 ?
gen amean=r(mean) in 13 y( A) g$ T# K
1 V/ C5 v+ b& u* ]; p0 B9 C' Y7 ^/ A * 总加权平均值 amean
# I2 X: u4 ]8 j( ?- ^3 l/ G2 n* i1 h 2 o8 k% ]& A* n4 [1 J: ]1 n
# m# Z1 r6 P: e5 Y
keep in 1/2408 ?2 S) K# | g& @. j- _$ k, X
( u# S' g( h0 _7 \" J. K. ?, K
sum v5 [aw =avol]
( V6 E+ T/ s; \! @ I
4 u. n7 k0 I6 ` gen mean240=r(mean) in 1$ k6 f! p1 g; n% K
( i9 v4 f1 p( U; t *240加权平均值 mean2406 f, j3 k3 {! u7 y+ @
) Y) S5 h) _. v, R
set obs 500
0 v" o3 Z( z" D* G' a# D+ s& O1 |, O/ p
, z5 C+ J' G. G4 J, E6 k% o1 \ kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph+ M3 Q, G/ F7 m- ?2 ]% p
( P" U6 ~! h5 P/ L' C* Y! ^
*240 kdensity(dx240 dy240)/ Z% `7 C& O' s! @
3 B, y+ M( H4 j
sum dy240( r2 U+ N6 s) r( g8 j1 ~3 e
) `0 H3 t$ c$ h3 P
gen yxis=r(max) in 1$ g# S0 b4 d/ _1 R
/ ^0 Q6 k: C v0 ~8 m gen yxis2=yxis/2, |" Q4 Y% z* e/ U w/ i0 L
! h% | X' I. S
*yxis
# u' Y0 ^3 S, {7 z2 C5 t0 ^
4 {9 s5 Y6 n6 y! V% d/ W$ w gen dy240max=r(max)8 Z( i8 g8 }* |9 @" m+ @& M1 H
: V8 b( d0 h( I/ F& d# N9 f- |& f* w gen dy240minp=r(min)2 ^7 @8 P) T1 r
7 X* V. m' i( a8 ?2 ^( ~$ m gen vtt=_n
, L5 k k* ?; r, m
& i6 E" b, @9 v; d2 | tsset vtt
' E$ a8 x: w3 F9 G J$ ]
9 R* o/ G+ T. K0 K+ F gen ddy240=D1.dy240/D1.dx240 i, K$ `1 v- R- q y
/ `: _5 {& n, n, S8 T sum ddy240
) v+ n3 M/ h) h" V
9 G+ Y1 K# \4 {: L% c4 V7 Y& Q gen ddy240max=r(max)1 j, m( \; f2 y% e. `: d2 k
* p: T/ ]( A, u* \5 S gen ddy240min=r(min)
- C! L6 A& `: M, q; W& W! v / y6 G4 F5 v9 M x5 [: i
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
. s p4 s% z9 V0 z, Z# p5 ` & f8 k' f6 v- y) H% j
sum ddy240g, Q0 ~: _( `# [) G! `
0 }! i* ?+ C$ ~% I& ^% ?# m x
gen yxis3=r(min) in 1
/ \ K8 V! |0 L, F+ F
, Z6 X; S& U# m4 n$ L8 T gen yxis4=0 in 1
" f: r2 ?: }7 B0 q & i1 G- L7 y- q& b9 G8 @6 N
*ddy240g
- d6 a! f- W7 h2 @5 j/ M" Z
; A8 s: c. `7 O, }3 ]
1 n6 w! I7 }- q7 l( v. Z preserve ; o: Q: M( _5 e/ j( H6 l
; j) r$ M& \ V" [* L' D8 v sum v5 [aw =avol]0 p8 P/ W' z& Y, @1 p7 n$ ?' | N
: o. n% x/ r( C) y n5 n% o
keep if dx240<r(mean)* F' {4 Z" z9 S$ p+ \
b1 Y I$ }, |, Q1 V
sum ddy240
" M9 ` Y% f3 E" _5 Z9 _ ! q5 C! E- a, N9 T3 U3 L
if r(min)<0 {
/ {% b8 c: x$ M5 x( | ; x0 b( ]$ O D" W0 @
keep if ddy240<=07 @% E) w' z5 B( @8 B/ T, Z3 R/ p
h8 B. E/ L: g: ~9 }4 n count. S6 ?5 b4 _. G( r
# n R1 J; N: Y! o- {" L* X* J if r(N)>2 {' c3 c% ~! u. L
, r3 L5 `) M4 c
pkexamine dx240 dy2403 m& E# ]6 a8 W1 `6 P! Y; O5 X; h1 {
5 m0 `0 `3 b4 j0 _7 B( [ local tempminp=r(tomc)
" k7 g. E* @) o U restore 4 j+ A* c! o6 ], o h e7 H- A
}
V8 Q3 S8 i. c2 I; o / u4 E# e: @# B A1 M
else {8 c* h7 e8 r5 [0 \
0 V6 {+ e" R% O2 R) X
di "cannot find minp"; f8 B& u! e% U, S
" l5 G1 V+ a6 O* [) S7 L! L" [
restore 2 g/ H1 M. O: o( y
sum dx240
: k5 J2 G* F7 |# Y7 m" E" u% Y. F local tempminp=r(mean)# h) C$ _0 y6 p) d, @7 _! q# Y
1 l+ l4 e" k! j& A% V4 _ }
/ `/ l( x8 r. S+ V' x }
5 {+ A8 I5 g: n5 y else {
5 v; {0 [* O) s' s+ W3 U* U
9 r* q ?/ X8 o3 b4 c3 G) n2 h keep if ddy240<=r(min)' m5 J/ r9 t5 i& K. d
- F8 A0 R& Y8 {. |
sum dx240* e& \9 i$ w' T5 L6 ^. [
^$ f1 d3 _, V, m8 ? local tempminp=r(min)
; e! _/ W5 R2 V9 t restore
- d2 a; ?; @6 h) G: w }- [4 y4 O" N; f/ N8 O
/ F1 E! F" V* v8 @& ]! b
$ R. e) @1 @6 D1 Z4 G9 a3 y4 _' d; ^+ K. a+ }+ I
gen minp=`tempminp' in 1; a$ O k" [ L2 k
*240 minp- s8 V4 A& `: z
& ~5 V) ]0 b! ^ C! K2 p0 t$ k8 ?9 ~, s9 {" y
" `7 w$ @% [6 T8 S: y: A
preserve $ Z# ~& u3 G" C* A3 Q- m! W
9 U" A8 j5 q' z( p9 t4 m
sum v5 [aw =avol]0 ?& f8 s3 j$ ~# G$ G" _$ Z
+ G2 A ]; T! }4 b' [ keep if dx240>r(mean)+ b7 \/ Y& K$ L& x- n
+ Q! [. E# I% g5 w D sum ddy240
4 D2 V+ l% E" K! J8 V* w4 _ 9 t7 E) `9 m, m, w
if r(max)>0 {
' r* }; c- f3 d% |2 H
) [4 q) y* a$ H' ? keep if ddy240>=0- j* S( o* G2 h. |8 G+ g9 m& j# _
/ L: g$ _& _! t& ^+ \( W count9 W3 F0 F+ s! h
$ S, ]* |4 m: d% ]8 J9 e3 t$ `6 P
if r(N)>2 {- i# Q; b2 T1 _# Q" E
9 L* \' Q+ r. b8 f/ d5 l pkexamine dx240 dy240
, y# u% U0 s- h2 I) f! Q
! b5 ^+ Z8 B6 H% ?* V' U local tempmaxp=r(tomc)
) t0 h8 C, ~$ M* u$ J/ g restore $ V, R, Q% ^8 m5 a/ r
}
w. T" e1 G- s' A+ ]6 h
1 q q( M- s9 T g1 B* i' ~6 b , v' \3 l$ t6 Q6 z. u
else {
2 k& M5 k. X( [5 C c3 q restore ) Z( P' e* s, [6 A
di "cannot find maxp"; l7 N# `+ d" m
( }& d& X+ E/ z5 U* F ; L. |" t- o! U% e4 g4 E4 x6 K
sum dx240( D1 H* p2 _/ P& L* T
local tempmaxp=r(mean)
+ B0 O4 X8 j+ [. A
" |" s* x" S' W. x } j& a) h: J. \( k2 B
& F* {$ Y& y I4 S, i: A7 \; m w }& [8 e0 n7 q2 r: m* ^8 E7 v( \7 R* F% V
( {! l# ?9 ?3 T6 x
else {9 W- n+ C8 Z" M ?
- l- W2 K% X6 g5 X/ ?5 }+ w: i& C keep if ddy240>=r(max)/ F \6 ~3 q. l
* f/ L+ J6 L: y1 A& l7 o sum dx240
+ ~3 a" O" K" c W+ q 2 M) \) D" ?3 i9 a+ Q1 T( m
local tempmaxp=r(max)
2 k% {% o |3 b3 f; z4 L restore 5 f& S% B6 x8 f- C& ~! d0 r0 v G
}
( _; C- }* G9 ^ 2 J( a. O. ] l# `) G Z0 F& H5 U
2 v% ?+ w, _4 p. f$ n4 Y. K$ ?: c$ _
7 d& ?" n0 w: P& J
, F5 B2 _$ }9 N0 z8 U: V gen maxp=`tempmaxp' in 1
& B6 u; p! S1 A8 w0 Y! t+ G; h
3 K) e4 W9 x" G( E" a *240maxp
4 S% G6 P" Z, Z* o9 U! _
2 ~$ Q$ t2 [) v* E ]8 D& n3 I* e
5 e0 ~7 Y& i6 P *-------------ddy240pminp左侧高峰值-----
1 t, ?6 p* y. H' ?
0 F# ^" `: S8 }' z- r/ |& T* u preserve
+ W x+ {) J5 v/ U; T% u/ y. \
' y o$ g0 o6 K6 ~# O keep if dx240<`tempminp'
# s6 P, ~. \2 C( x( l
( l M2 d2 V( B2 X) I; p6 E/ ? keep if ddy240>0
9 ?2 g/ H0 G3 h " i6 B8 o: ?* N* q8 |; ?4 Z
count
, M" b- v# D! j( m# Y - v& O! g: m+ G7 X; H) J
if r(N)>2 {
* _ J7 \* r, S7 A3 P
1 n2 u$ p" n' K6 u pkexamine dx240 ddy240
b3 i$ g% g: ^# u J) [+ ?! p 0 c% P( N i: b
local tempminphddy240=r(tomc) 1 j/ N+ b9 ~% E7 m2 r+ p
restore
" C4 T) ]/ q' ~4 Y3 |, f( U! ] }! p/ v- q7 U9 K+ k
7 M; N' ]: ^, F3 z3 ^, [
else {8 z( |4 b( N* X* f
restore , v; C9 x& k* p, Z: @1 u
di "cannot find pminphddy240"
, j. [4 n( q( B: p2 u D ) h3 N8 Z8 t. r
/ i# {, z2 n& y) u. Y3 y. r+ k
sum dx2409 H$ `; j: Q @ r: p* X W) S
local tempminphddy240=r(mean)
0 p. m4 ?. Z, X$ {; a
$ }) k4 ~) ? L) t
8 h# H% O: A0 r. A( R' m0 { }
& Q+ q N F: C0 e& W
1 `4 _1 _- e3 t/ T0 ]% o# z2 x4 F ]8 n7 `9 v: T0 {5 F* h& n
6 h: W9 j7 u+ A! {: F ' e7 G( G( x. k" {6 I! {
7 s q( }! T2 V; Y! q: \
% q( [- v( G, ?
gen pminphddy240=`tempminphddy240' in 1 L( n, {9 M+ ]
Z) e1 k( ~/ D. Q" H n 8 ]+ N% B0 t/ `( \# I! y
*-------------ddy240pminp右侧低峰值 -----------------
$ r! B4 |& [6 p' v2 i preserve
) h8 w2 z9 A. R* }( B( i
5 l% Y4 M" e1 @9 I. j$ z% K keep if dx240>`tempminp'
$ u2 S1 k$ W' w h7 w0 p; Z8 S+ l$ n
, i7 Y$ s. V' M5 J1 c* N keep if dx240<`tempmaxp'; c- _( [2 Y: _$ [( s
1 G, H; f; v$ \( J; z* ?
keep if ddy240<0
" d0 a/ l8 i0 u: e' D& g( L5 m : a! j4 a; D/ R" K7 \
gen temddy240=-ddy240: _% Y- D- w2 R$ F$ V+ H4 E4 r' Z
0 P' l+ P* l! F% W count/ g) x8 B6 Y: g
" C# u. _7 b6 ?3 @ if r(N)>2 {
: [" h, Z: |% P3 l3 r+ ` R* U. w% T+ L% o6 D
pkexamine dx240 temddy2405 p$ n$ _( ^8 G: r3 s% L5 M
3 s* B- e& a7 _) }0 t local tempminplddy240=r(tomc)
7 x3 a8 E* ]0 [* Z; O restore
K, h4 \( _) p6 K% }, v5 B* C }
1 _- P1 t) Z: ]( z d3 u6 N9 O9 R# c
else {# D% M7 u" _& v% C1 q/ S
: o8 L- e g7 S( l) y' U$ q
di "cannot find pminplddy240"! M1 n+ m$ X X8 P* L
restore
5 \4 b3 W5 I- C( X# R ! ^) j$ C- p+ K: G( ?1 f) |
sum dx240
) K" O# g) a' k1 H. p! e& a8 z local tempminplddy240=r(mean)0 ]/ }9 {$ D' j. ^; k5 B s) W
. D4 v" p3 _0 Y2 i: ?4 r% P5 [
0 K) c t# e' Q# w: [, W }* l- Z( F! r: g8 q
8 q# r8 t" S# L- \7 P
+ C9 s; s9 o) a E+ W; h 6 E$ w* ]+ h8 o
5 E# |5 ~4 |/ g+ S7 t/ X
0 L9 B& l9 a% x% _& A; f1 n
gen pminplddy240=`tempminplddy240' in 1
$ ?! `; d6 C9 ~: l! {7 A$ G. |
C* h. {2 y B1 B *-------------ddy240pmaxp左侧高峰值 -------------------; M( w t7 j( e& {
8 _4 {, `4 r1 s/ O
preserve
9 j8 U5 h" f' C, U, R; ] . H6 H6 m' Z ]8 s9 ~
keep if dx240>`tempminp'
6 V# S, l" Z5 |! b! q9 ` / n/ _9 {9 g7 n
keep if dx240<`tempmaxp'5 v" x7 `5 Y( W
) A6 R0 J' w( y
keep if ddy240>0
R# `5 Z* o$ _6 K/ K8 y$ d8 | count
4 w, o8 r8 B9 m7 a8 [
; @/ j$ H: q t! H" h' h if r(N)>2 {
3 [7 }8 X' ]7 D; X
[* ~' U7 ]+ ~9 Y$ _+ I pkexamine dx240 ddy240
! y1 ~: i' r; V* G 0 c3 w( n+ A. W- q
local tempmaxphddy240=r(tomc) / H) ~( {3 G$ c3 V" j( J e
5 y2 [2 }0 U Q3 n6 ?! _3 N' |4 R- c
restore; t. W* g/ z9 O( R' t1 z% N
}& C; y$ p" O. l
$ n4 P. x/ Q/ u \# P; g else {
- S4 K' S9 E; s1 p* F. @ 4 a9 k/ M" y9 l9 B( I) N3 c
di "cannot find pmaxphddy240"& G& m$ u# g/ M- O3 o& H, O
restore
3 p/ @1 C/ b; b5 [0 s p
( u3 k4 D' p W$ @9 D m0 @, J& r sum dx2407 x/ E3 N3 l. O2 c& b( X& u. S8 L V" |% l/ P
local tempmaxphddy240=r(mean) $ ~. V6 N1 O* e, \
+ ~9 ~3 A0 I* `1 ]4 C
' \# ]5 L9 Y2 ^' d. V }
# B9 K' a3 e V
: L- n. {5 p' ]6 Y$ b
/ c3 V9 M" o" S1 `" G / v/ O6 b# N0 y) Z7 P) G1 s% ^
& j$ f& b7 f% U: y l8 X
0 E( b9 Z- D$ F6 P5 o
# P0 K2 x1 \2 ^5 L2 _, n* \ gen pmaxphddy240=`tempmaxphddy240' in 1: n, f6 h K2 ]1 U. F! i
4 H0 C4 \1 |! A; f6 Y2 A - J& E2 E6 I! p- w
*-------------ddy240pmaxp右侧低峰值 -------------------4 ~' k( c6 A. l7 k
6 m5 w$ ~% h {) g8 r3 K
preserve - m. p a3 o5 y% U, [0 J* v
' f3 B6 p* f# { t keep if dx240>`tempmaxp'
0 q* u+ Q5 n; A. _. A) i 0 t* ~+ d+ L" p1 o9 x9 T7 m! w* E
gen temddy240=-ddy240
5 L2 }' ?; M" y1 R; S + L+ [$ F5 A3 e- y0 F1 X# q
keep if temddy240>0$ a5 n! y& Y( y
4 S! X# k1 C; [& z- r count
* A# h$ @4 d8 s! l3 u) x / m6 w# [# F1 k' d% _' x+ \
if r(N)>2 {
3 ^5 f: V: G% n( x2 N1 W, g5 C R0 i
/ @# o/ C- X" E9 m pkexamine dx240 temddy240
8 W2 z# g: ]5 q
. {) s. d! N2 w: k' `) L9 j2 U local tempmaxplddy240=r(tomc)
- z% L5 |6 g3 m& E restore! ], Q7 u2 b6 a/ G, [
}
; J# `5 h9 \. \: H& H$ K3 |9 e
P, {# ?# Z% j- C/ D" c else {
; i! F3 p) W6 F9 l restore% \' V2 c) ] p7 W. c
di "cannot find pmaxlhddy240"
' q$ w3 X/ Z! R ?$ n
: J( h. f s, B5 g& B, s
/ t4 j5 ^. S4 O+ h1 n- ` sum dx240
) \% ?9 D0 n' V local tempmaxplddy240=r(mean) in 1' [2 p$ R, N) B4 h* u* e, A5 @
0 Y; s( r0 }: m4 S( x* d
: W3 [# I! V1 q# z7 g& u* D
}
1 A; k- Y! K9 l& ?( R( ^ , n; O" `( d U0 x( e& ?- b* ]
3 e1 s7 c9 e+ S! g) L; m
! A+ b! W6 H+ z5 {5 C% m% l
, T) g5 f0 p" {: Z 6 ~+ x# U8 X& O/ `1 n
" e0 s+ u1 X- B, k3 W0 ? gen pmaxplddy240=`tempmaxphddy240' in 1/ r; p! C L; E2 l; L% z
) A3 f' `5 _; ^# u# [6 w
*-------------------------------------
% p6 q2 R' S% a/ O1 R / ], t: n+ \+ M7 I9 h7 q9 s& I
gen price5d=v5 in 1/20" ~+ w0 N# T6 e: ?
' n, Y2 x) W: J5 [$ k
gen price5yy=_n in 1/20" q: x+ A; b0 q3 V, P1 O) v# m( A; L
) z6 C+ I8 C% U- ~0 R# M
gen price5y=price5yy*(dy240max-dy240min)/209 j' c& \% J$ b& p
0 s7 A2 Z5 w* s$ S
*price5y &price5d
/ K: S. D& i) @6 q
1 \! [8 x6 |9 c( b: ?7 c- c: V; c gen priceny=price5y in 1
) p) Y# V; I3 b% H- v |& Q , m: T8 w2 s4 C! N# z
gen pricen=v5 in 16 h! w% t* {. w. R6 l2 e
1 L3 c& j: K+ @6 i$ g/ O6 ~
$ W4 @3 k5 `, U6 n0 g e } *priceny &pricen
1 J7 W. s c F9 D1 U+ B+ ?6 s$ C
& n3 u- k/ z0 P6 t, J$ n
& Q0 \# k V( Q# d- P5 G' b, ~7 W" t P *-------------------------graph------------------
( J0 W/ N4 k' i8 }% z9 m+ \
/ j3 G. r2 [1 j# ~9 I" K. P# s tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)1 n1 x+ m3 D0 u, U5 g
( W" i/ |! u6 y+ Y! W* ---------可选项目----------------------
. q' E7 T: X( i# _! _
9 u, }1 z/ b- C0 b; g}# I5 f8 t) I G% V% P; I
end3 r3 |5 q+ `; z* u* O
|
|