|
|
改了一下,这次运算应该没啥问题了6 D: ?. Q, D% l, ~, H2 S
2 d, v% {- A+ q
2 M" G' B; U0 F# wcapture program drop hello
! ~. Q0 ]' d2 d# c: Y- o: S! T
7 v' x. X( ~* s/ T6 S2 i# i* q9 Dprogram hello: \2 Z% `+ L# L3 d+ H
4 p" P, f9 S& w* B. M3 A8 p, }0 m
quietly { c- F( H3 R9 z' \/ I
- B0 h4 y8 t4 [. Z+ I# R o1 {& i6 Fclear
( h+ D9 b8 f- i' f4 b) m5 ~' G$ I8 ?. K
cd e:\finance\stock\20110101\source+ o) X) U9 N7 ~+ p' ~4 b: T% U9 o5 S) u
1 _7 j. w% M1 m& minsheet using `1'.txt
- R7 g6 u5 V v$ p9 c7 z
$ D) D$ k) L1 b6 ?! q) U, ? keep if v5>09 {0 l0 p" U4 ?) @8 G" s4 Q
2 K) |' R6 K/ ~ gen vt=_n" E) L1 M7 i( _6 D7 z! \
" K5 A' N1 j" C0 }( T/ l
tsset vt: T& H& U( ~; g: _' {: ~
' y4 |8 m6 r7 E K6 ^; f8 K5 g gen zf=D1.v55 g5 v. J) D6 k6 L4 q E1 H4 o
- K& ]7 `( v4 J8 Y2 k& a
gsort -v1
0 Y5 x7 W' E' ~( F4 [; L
% s5 m9 i2 M6 t# i. n7 Q gen avol=v7/v5% P% S) V8 a _
) d& h5 w' ~8 F9 f) L
keep if avol>0( _& ^1 a7 w5 x/ h- }6 v- H
& P' L, l# p& a5 r7 }) v drop vt3 s0 }* B: C! \0 c4 T
; S$ b7 O. r! X4 {$ j gen vt=_n+ A- s3 r" J( h+ g2 O. t5 s1 U
9 `% E8 `+ i9 L1 e: s tsset vt
, J( u, g" |# F 2 V/ j: s6 N! V& K+ S
sum v5 [aw =avol]- q% h3 M5 p* Z G6 Y. H
! J" j7 S3 E/ i- e
gen amean=r(mean) in 12 `9 J O8 `$ s+ {, M! a/ R" y
2 d9 \: V4 \# f, p- O0 ?6 g: l5 _ * 总加权平均值 amean
4 G, A& c: y) c+ ^% u
3 u6 k$ f9 V$ p; z8 e6 i# x ) s) y6 t; X! |+ \+ ^
keep in 1/240
1 |' O4 `6 O7 Y! r" {
1 W6 N1 o8 ~' |& O- _/ r- D sum v5 [aw =avol]8 `- T# _4 Q( o, y
; w) y7 A/ s$ ~: B7 P: o6 I; I6 u
gen mean240=r(mean) in 1
) X& X, x# Y+ G5 F, l0 M
+ W/ E7 c# V3 N0 j *240加权平均值 mean2406 w. S \ `, u, _5 \6 J, S
- P* s) z( T2 d s! j
set obs 500 * Z; O, Z4 Y2 k3 Z& Y+ s& J
4 x/ c) E5 \" ~ kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph; |& K$ [$ [: r
. ~2 H+ q( R9 t @9 Z
*240 kdensity(dx240 dy240)" ~' M$ P: Y% A, Q5 C9 b! h# {2 b8 k7 R
$ {( M* F) y4 h K% A4 D sum dy240
8 [0 s# X- i+ K# k
( F8 I7 R, h$ s" d gen yxis=r(max) in 1
3 V5 _$ R; h4 g9 o) i( O
0 b( F9 v: B+ V/ w5 K" ]& I gen yxis2=yxis/2
- A, x4 t# l3 y7 ` S6 @
% w G. M8 Y; [* |8 I# D/ _ *yxis6 t, ]9 n) e+ c/ Q! d
+ y; n7 v# c D- X6 I7 m; b, \
gen dy240max=r(max)
7 ?5 M% x" t1 ?+ E" ]
+ b+ ?* n8 e6 k# N gen dy240minp=r(min)
8 L; ]5 s4 X1 y1 O/ D5 J* ]* w
6 v: T9 i: B, P7 x gen vtt=_n- o9 r6 o0 @( J- Z# s* _! e
, h2 |/ _ _1 X) E, i9 x tsset vtt! U5 N6 Z3 k8 g! c d
& t- g/ O/ w4 \, v
gen ddy240=D1.dy240/D1.dx2402 r, ~% b8 N: c, \, Y" A e0 a0 @
7 ]) y* p6 y- u5 h6 B# v sum ddy240& D; \" S j2 n5 Y# }
9 T( @ F H: J
gen ddy240max=r(max)
1 Q$ P1 f6 u" b/ h, M 8 Z: d% a9 F: }$ }8 @
gen ddy240min=r(min)
9 t& p& M- H" k4 r
# q% Q2 Z8 c! C gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)- v2 {5 u0 S& g# j4 u: K
+ H% z; v: k ]- E
sum ddy240g
' F6 w$ O, L4 ?/ z
$ E" U" }) O3 q3 |8 J& y gen yxis3=r(min) in 1
1 i6 D8 c2 E) Q8 ]4 F- d
, K# N+ {4 s" w+ J gen yxis4=0 in 1
0 [0 O7 } f/ G- c3 n ! j w* N" G% b+ R: `5 W' f$ _0 z1 b
*ddy240g / \1 n+ ^/ n. C: `: R
& y+ z C I! u/ h- m% |: d* B
2 A; k) ]2 i2 e5 f8 ?
preserve & T% T0 l' X5 k, E5 y
4 B3 l( d% f" S: o9 }- K' L% s
sum v5 [aw =avol]$ e' y% u) M5 U. J
p, B) ? a0 y9 u" K keep if dx240<r(mean)
M. m% c$ x3 U. A# ^! _' R2 v o) m9 F* A. E( [* e7 R# E
sum ddy240 Q& a. M+ R4 R: [
$ S( d- u( U# F if r(min)<0 {. N! e! Z8 C6 n# `( f# m7 j: R
' ~" L$ g3 m: u# |* ]4 }" f
keep if ddy240<=0" f, o/ ?( V0 v: a0 B9 J |( L P' |
% q) m% G- D3 k
count
2 B5 ]; X( ?# `1 z* Q
5 ?: j8 m9 Y( I: g$ X6 N# w if r(N)>2 {
5 w9 v7 \1 p& x* G% T" w' n
9 i- ~6 Z( V! n- ] `- ?1 @7 G pkexamine dx240 dy2401 x0 \( S2 E: L! i3 t7 h, K/ z) A
. g. u: X" s8 @- A local tempminp=r(tomc)
, g' W @ I, K0 t restore ' |0 s$ F, t4 G$ {. K! d' s
}) q& H! c( p) o- q
1 ]" \5 _: [' {" w7 v! U& W* S
else {+ Z- _- N7 f, n9 S1 F! H
* d0 m7 g; I* j" i0 ?
di "cannot find minp"
9 Y9 A+ }( w U) O6 v 3 p6 {" v8 O" ~( T
restore
1 t" s, @$ s {/ L( B9 \ sum dx240# l6 X; R. i8 u4 p$ @8 X
local tempminp=r(mean)
& i ], s) M/ A3 _2 s4 L
2 u- N* E: w6 q/ z: U# ~ }4 |6 U* M7 N5 i2 n5 [
}
' `8 w I0 a9 t# U0 Y0 b4 E: x/ Q else {1 q+ |6 L, _1 L' j. `7 [0 m
6 {, Z2 D4 R j keep if ddy240<=r(min)
5 B1 a9 C* }/ O* I: _
9 l: {/ k! D6 k sum dx240. z9 R& Q4 u# ` _$ F
9 \3 I e/ @* I
local tempminp=r(min)
5 R2 M- L' U" s! R$ R restore
+ m9 ^/ N$ ~7 I5 L) o0 Q& Y/ H) }7 l }
# x8 N# q/ N/ b- F$ P. o2 Q6 } u( K: y
8 g& c D' X# M* `3 m
. D7 c+ V' X7 t: T! M gen minp=`tempminp' in 1% J5 F$ x9 G/ t7 M/ R
*240 minp
% R6 J d9 p0 T3 ?
2 a" ^) r3 i% n" w6 f9 F% B0 q$ c( H9 _
7 A! d) s" ?$ Q9 Z
preserve : v! e+ P$ A% t4 A3 E
! S7 z8 R3 A1 g sum v5 [aw =avol]
5 l, [& B$ }, u( r( O
3 `+ M* D w% J* N" Y- C5 ]; W keep if dx240>r(mean)+ @: P$ R$ N' a2 z4 I/ R
7 Z7 @, k) k% e: Y sum ddy240
. v; G8 m8 c3 x* { / I% P" y2 j/ @' b/ g3 i4 Z. P
if r(max)>0 {
% s/ ?$ T' A. R" x ( P* w, z1 f; \/ C% |+ ?
keep if ddy240>=01 {1 g9 l, s7 s: ?/ v4 ^' o
3 D; n* S$ I2 _1 s& ^" `5 X4 b9 u count6 @9 Y! R: i- Q- F h; T- }
1 @, p; o* E/ S. h+ t
if r(N)>2 {8 R; _& N: G8 l9 E; `" Z, O
, E. \) x. |9 e9 Y6 b; N* u pkexamine dx240 dy240
5 w1 e) A& q1 m1 L; |9 H 9 h) M+ g; A1 D( [( C
local tempmaxp=r(tomc) ! H l2 J# r1 }0 B" b) C
restore
$ h1 S- H, N9 d) ~* S8 T }
2 {% Q# ? l5 ]: ?& D) b9 i7 C 9 D5 B$ o8 j8 {1 V; `! m
a" W' d% Q! z( H/ I' @4 j
else {
% ~+ F; I0 H* _2 |# K4 r restore
+ e/ _ \2 T( S; R; z7 g di "cannot find maxp"
3 B) {5 }9 i9 X& Z* {) [/ O7 E
+ o0 y3 `5 h! h# {/ T. i3 N5 |+ B ) d/ y9 x% V5 T( V0 i4 Y
sum dx2404 |. S. j! R8 R& ]# w
local tempmaxp=r(mean)
2 F2 t, ~; E- R2 j 3 s# l+ y6 Z" C0 X! N, K9 u
}
6 G' H. _; H) p5 O/ B
) ]- h% o# f% G6 P; P }* k7 k3 I# D) Z0 S+ z
1 w8 N" l0 T9 s" f1 G
else {
, S& ~# o# C: k( D* d0 Q
. ?5 m. }, m/ ]1 X) v7 ?+ }5 d keep if ddy240>=r(max)+ o8 L4 P4 x* O) ~
* ]9 Z4 B2 `. ], B+ x9 N
sum dx240
" Y) a: o8 N2 j: [3 M
! n/ e2 p1 ^* g' a local tempmaxp=r(max) " m7 \. n2 \6 v* {$ K0 K
restore
; x& Z; N7 Q: x4 ^ A }; \! u6 y5 f1 u' [% T
( \2 u$ O& l& Y6 B1 j/ m+ y8 b/ S# X% K3 u
# a* C/ t2 \1 P+ W- I" Z
' @& }$ B7 P; ]/ ~# {) F# o2 A
gen maxp=`tempmaxp' in 1
, n. V' g3 X7 u
# e, P2 H( P9 n( L5 j2 ?' r3 P3 J5 ? x *240maxp: {& n# S" S3 W) }9 E/ j1 F
4 r5 C! P. Z# A0 E* A
1 M7 f- \" G7 W! N4 W3 Z6 q7 H
*-------------ddy240pminp左侧高峰值-----! N, B) Y) _5 Q5 T p: S7 Q. {. C
* ?7 g+ R4 M& s0 _' F- d z1 Z
preserve
" o2 u( ~9 |4 a/ \$ e& n- d3 i Z h4 a5 ^% n' W# k5 D, E& I
keep if dx240<`tempminp'
, N; h, Y) K0 ?# K8 [: q- X ) B3 X3 u% ]& {: v4 u+ j; Z
keep if ddy240>0% k$ b/ {. z0 V! ^$ | A2 t5 b
' z$ g% [/ d- O9 y
count
" y3 t/ _3 q$ j6 q4 S
9 M7 y. W( `( S if r(N)>2 {
' h: V2 k% T. a* c$ o
; Z, q3 g0 @$ A3 S; e# s2 i% ~ pkexamine dx240 ddy240
8 L. i" N$ \( e5 u, s- c7 N+ I+ F 2 U E9 C) W+ }, I t7 B1 v
local tempminphddy240=r(tomc) - P% ~. S6 o1 i. @. }& }7 a4 p$ C z- Y
restore
2 l2 @ V& ~9 ~0 J3 s: \$ G6 G }% [; F& B( G+ Z
: k. }% X1 K# j else {
1 Z( i7 F; G' S: R3 p- Q {8 u0 S restore ' A; [0 ` U" z9 ]. F) Y
di "cannot find pminphddy240"; A: U# m- N) G$ @4 ~" Q
6 \$ n; o+ u& i$ j/ z' c7 _
2 G$ v% _( W! H8 w sum dx240$ k' L3 L0 _; r: e7 I
local tempminphddy240=r(mean) / m: Z! U+ g% n+ _% t, t
' M" H2 e# ^2 V% x6 b# t% @! q
' o' b# j# I- \) d w! M3 K }
7 Y9 D. O9 n$ q1 T: O
3 d8 J8 V' b* C" J7 o) s, b z
5 ] G- ~# `. ]5 r* x2 [5 M2 s
' U9 V8 A6 f, @% @, V; r
, `$ F' A! y- `" @
; E4 l8 y* A3 C# Z: O
( \2 t4 ~2 B9 U2 E2 Z7 h; I& u l( x gen pminphddy240=`tempminphddy240' in 13 p, j+ l p7 V+ n7 `0 X0 I+ C
. g7 q: N% }8 O) I1 B m
. M) L2 l( p6 G *-------------ddy240pminp右侧低峰值 -----------------$ m" H! |9 g8 A$ ?$ C2 {
preserve
; a/ z3 P* M5 T/ f3 ^: b
0 `) p; P* _1 v/ M( e& f keep if dx240>`tempminp'/ u, ?4 @5 v8 v' A5 k# f& v
/ i0 x: l; T# c8 W; M* u
keep if dx240<`tempmaxp'
2 }- |$ J# m4 o( P/ C : n, ]9 K& `- T6 @
keep if ddy240<0, G3 I9 Y2 I3 c( ?. g
$ R* ?0 L* E7 Q
gen temddy240=-ddy240
9 g- b2 L) Z/ Y2 ~7 S
8 T2 }) o/ d$ Z0 k! K count
/ U& c5 `; \: R' `0 i 2 G, ~6 s5 |; d0 K5 i+ ^
if r(N)>2 {
8 @$ W G' L. e0 N/ l
; i' N7 g ?% t3 X pkexamine dx240 temddy240
% c9 C2 J7 [* Z( d& [6 @
( v3 a' z. f0 V+ {/ r local tempminplddy240=r(tomc)
5 B5 w5 q7 l {4 @ restore) Y/ [: G/ N6 n0 d: L5 E- B( _
}# i& N3 V* H* y/ d4 |+ V
" L0 ~4 X$ x z1 g$ b$ c
else {9 A A J B* r5 K% f
) c( Z( q7 F% Q7 A1 w" ^; U% K5 l di "cannot find pminplddy240"' }/ t) a) A( @9 Q7 G3 C9 Y W
restore$ G# r) _9 |9 s7 y% S8 B2 R; ]
! f; N) J t1 ^+ c' ^, l4 W# Y( o
sum dx2405 B$ |( g: ^# p& `9 x
local tempminplddy240=r(mean)# g/ U9 e7 {) F2 X, v' ]/ v
' \/ `" G" n5 o3 ^! n q . L9 E6 }7 D7 `5 @8 W, i+ m4 M, F
}" j; Q% v- v6 j q
* Y* B t- i# |, A
( G( B/ o, E; B; o$ l/ ^5 F0 P6 N
. W* u1 v4 x6 E9 q1 X
4 w9 W1 P7 ^* [; { v: w : i3 G7 [; V" J
gen pminplddy240=`tempminplddy240' in 1
+ s9 k b- c( D7 X+ n/ T- S7 @
9 Z! ]7 Y& H4 M7 a2 i5 x9 f *-------------ddy240pmaxp左侧高峰值 -------------------
5 c( w0 U: z5 H1 F7 Y, |
* r3 f1 c& t) a) O, i G preserve 0 C4 r4 y# l4 n: r- O" y
8 Y3 J' ^ {& G9 ?
keep if dx240>`tempminp'/ u& x6 y) g* {; r, q- o
, ~* @" u- F8 R P3 }- m
keep if dx240<`tempmaxp'
- b4 F3 ]- S6 |0 r' v- A
2 z/ ~- H6 L# ~ P8 y keep if ddy240>0) m# a& H' q: y( M$ Z7 i
count( m7 G4 j6 [% I8 N( g
4 }7 m4 q0 }- L4 S! T: X if r(N)>2 {
3 O) d0 C* q' c! {( Y7 H( W ; F* v; [8 ^3 E( H; t9 l w
pkexamine dx240 ddy240, d4 \/ U2 d* h9 b1 E, g
6 q0 Z# z$ b# x# ~0 a local tempmaxphddy240=r(tomc) 4 l6 P( S" j: ?
9 }9 z0 v) M9 L, B! }
restore
4 D2 m0 g$ U/ N$ z }
1 O5 I- _& x; e0 O2 { 1 k4 d2 t$ ?% A: t; A9 A8 P
else {8 Z4 w1 K7 _3 q( I L
+ w4 g. V& ^7 I/ c% q, Y
di "cannot find pmaxphddy240"
" U Q# d4 Q3 d restore# J* Y* u% M1 `2 Q
1 Q( @- J& {$ W! Y3 n4 l
sum dx240' H( V4 }1 Z; z; ^+ C
local tempmaxphddy240=r(mean) $ [) S D; J6 d& k% `6 T
& b& D3 H; ~7 ] ! n0 }% l, [* U! z7 O; Q s
}8 [' k+ o0 R$ S
. f0 L( ]/ I# Q7 [
3 G4 V* s1 ]6 H; B) v! {- t
" J% |+ j3 I8 }6 p
5 c5 l/ t1 ^5 A% h" t , [- i" w0 f& l& e! }4 O
, q; C: f' Y( ~2 _( I y
gen pmaxphddy240=`tempmaxphddy240' in 1
) N% ` k C& Y ! h" L: B3 q, T- L; u* q
" k! m5 Z3 [; [; g* c' K, i
*-------------ddy240pmaxp右侧低峰值 -------------------
) m. H# X; s) T- O$ L' M5 v; r0 Y# d Y6 t1 d5 B. ~6 u
preserve 9 B8 h1 P8 k$ |( ~' B: x7 M" P% }0 ]
& v# B2 v& d: c; v keep if dx240>`tempmaxp'
& P$ x; k+ S4 _ U) Q " W+ |5 h7 n4 Y+ \; ]$ ?
gen temddy240=-ddy240
5 @: k/ U8 {/ Y$ b6 N+ O, t% b6 K
9 z, A0 D8 y. n1 Z keep if temddy240>0
0 \+ w. Z! Z3 P# S5 @ % f5 T& Z$ D2 m1 H$ X( c9 B- i
count8 [) B5 n* d9 c7 K
% V6 l. p; }: a* T/ I# a* P if r(N)>2 {+ L+ {- r' \. K$ r! `* ^
) x0 r& J: Y) E1 V1 P5 s0 o) {/ }2 p
pkexamine dx240 temddy240
( ~9 h# ]; E8 ^# u& z; s- w % ^+ ^7 D$ W7 J, \8 g
local tempmaxplddy240=r(tomc) 6 a+ o6 K/ _4 O- |- V
restore
- }. A( K* d. W0 ?( T }6 Y5 E9 k; G- h6 V* Q& `
( e) M, E5 n# X- `3 o5 W: c7 X( p) t
else {4 f/ M- Z: d z' F
restore7 q+ ?- r# U6 u$ A3 h) c
di "cannot find pmaxlhddy240"
8 Y# M& P5 P7 n+ P; H; \: _ # k( I) ]8 A, T. I
, }( h3 M( z% w" P9 _2 i sum dx240
9 u! w) f3 E6 J. J local tempmaxplddy240=r(mean) in 1
) s, m# B. S/ b9 r . U4 V/ D0 _7 D% R8 \1 U
0 y0 x' I4 M/ |" x& d7 M }: X( y; j, n1 l% a9 Q
: ?& W0 k2 s! b/ m. g
. i0 S8 h l" n1 u( k
& o8 V+ c$ E* N- ^4 M
0 a# O0 N2 W ^& w8 y N$ f* {
" o s6 ~! N$ P1 q5 D . t5 }& \$ A6 | g* w
gen pmaxplddy240=`tempmaxphddy240' in 1
' x6 K2 Q" [- n$ `4 L
. s; U( G8 v3 L# ?6 c *-------------------------------------
& L: ~9 A' z* @0 x* d! U, v
: T# \/ G: C7 m) m$ V) `7 n gen price5d=v5 in 1/20
) A9 Y0 `) D9 o A
3 S' S. F/ s* @/ D8 y gen price5yy=_n in 1/20
) g! i( E) ~: G) L/ E! C8 x# u ; t B! t( R6 H) O3 Y- X' @4 Z
gen price5y=price5yy*(dy240max-dy240min)/20
1 W" O2 Y& {1 L/ B7 Z' O $ w# D" f% P3 z9 Y
*price5y &price5d7 x; N( w" a7 L% A
# ^/ z: i9 j4 X9 N- t0 M
gen priceny=price5y in 1: j' b6 v9 ^" u! P( _. O! c
' n- g2 v$ D; u; M, K. i3 S
gen pricen=v5 in 19 O4 |: T6 I, _; W _6 O
* x# Z3 D* }0 K- D4 k. j& H
& Z1 d5 g% C& t6 @2 I! x1 f *priceny &pricen2 \( j; w- r6 p; F5 {4 U' {
2 d3 c" C; l! x
/ B) M4 e) a* _' X5 u' r0 N
*-------------------------graph------------------+ P2 r8 [/ C% C( k! P8 c
% f+ R& g" h. C1 i" ~2 N3 q
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)4 r B& w3 O; v% h! m$ Q* Y, g
- C3 \$ ]/ Z( u O6 l
* ---------可选项目----------------------
8 ]; ?+ \7 S1 }! x6 u# H
8 x% ~8 N$ g6 W- ^) U0 K) k' x- V! J}, w" b' z/ G. E- p* D
end
e+ b8 d" I' b' ?' n' h9 y+ ` |
|